#! /bin/bash
# requires: wget, cat, crontab, unzip, mailx

if [ $# -ne 4 ]; then
echo "Falsche Anzahl Parameter. "
echo "Usage: $0 'e-mail@gmail.com' 'email PW' 'matrikelnr' 'qis pw' "
exit
fi

mailaddr=$1
mailPW=$2
matrikel=$3
qisPW=$4
url='https://notentool.googlecode.com/files/Notenmanager_v1.5.zip'

echo "Erstelle ~/notencheck"
mkdir ~/notencheck
cd ~/notencheck

# alte crontab sichern
echo "Erstelle crontab backup nach ~/notencheck/crontab_backup"
crontab -l >> crontab_backup

# cronjob anlegen HIER kann der Intervall eingestellt werden!
echo "Lege neue crontab an"
echo "Bitte Enter drücken"
cat | crontab <<EOF
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot      /bin/bash --login ~/notencheck/checkWithNotenmanager.sh
*/30 * * * * /bin/bash --login ~/notencheck/checkWithNotenmanager.sh

EOF



# aktuelle Notenmanager Version laden
echo "Lade aktuelle Notenmanager Version"
wget $url -O Notenmanager.zip
echo "Entpacke Notenmanager.zip"
unzip Notenmanager.zip

# mail daten hinterlegen
echo "Konfiguriere E-Mail Server"
cat > ~/.mailrc <<EOF
account default {
 set smtp-use-starttls
 set ssl-verify=ignore
 set from="$mailaddr"
 set smtp="smtp.gmail.com:587"
 set smtp-auth-user="$mailaddr"
 set smtp-auth-password="$mailPW"
}
EOF

#notenmanager initialisieren
echo "Initialisiere Notenmanager"
java -jar Notenmanager.jar --matrikel $matrikel --pass $qisPW -s

# check Skript erstellen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo "Erstelle check Skript"
cat > ~/notencheck/checkWithNotenmanager.sh <<'EOF'
#! /bin/bash

# requires a valide default.xml
script_dir="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
cd $script_dir

echo "Letzte aktualisierung $(date)" > lastUpdate.txt

java -jar ./Notenmanager.jar -dl -c -s | grep 'Es wurde mindestens eine neue Note heruntergeladen!'
if [ $? -eq 0 ]; then
   echo "Neue Noten!"
   java -jar ./Notenmanager.jar -cs -s -st > ./noten_tmp.txt
EOF
cat >> ~/notencheck/checkWithNotenmanager.sh <<EOF
   cat noten_tmp.txt | mailx -A default -s "Neue Noten :)" $mailaddr
else
    echo "Keine neuen Noten :("
fi
EOF
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

echo "Bin fertig! ACHTUNG, Richtigkeit der Passwörter werden nicht überprüft!!!"
